home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / QuickDraw 3D / Samples / SampleCode / Plug-in - QuickDraw Renderer / IRS_Update.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-08-14  |  1.3 KB  |  49 lines  |  [TEXT/CWIE]

  1. /******************************************************************************\
  2.                                                                         
  3.         Module:        IRS_Update.c                                            
  4.                                                                             
  5.         Purpose:     update metahandler functions                                
  6.                                                                         
  7.         Author:        Sun-Inn Shih                                        
  8.                                                                         
  9.         Copyright (C) 1993-96 Apple Computer, Inc.  All rights reserved.    
  10.                                                                             
  11. \*****************************************************************************/
  12.  
  13. #include <QD3D.h>
  14. #include <QD3DDrawContext.h>
  15. #include <QD3DView.h>
  16. #include "IRS_Update.h"
  17.     
  18. /*
  19.  *    IRS_Update_Matrix_localToFrustum
  20.  */
  21. TQ3Status IRS_Update_Matrix_localToFrustum(
  22.                                             TQ3ViewObject             pView,
  23.                                             irsData                    *irsdata,
  24.                                             TQ3Matrix4x4            *pData)
  25.     {
  26.     irsdata->localToFrustum = *pData;
  27.  
  28.     irsdata->XScale = 1.0f ;
  29.     irsdata->YScale = 1.0f ;
  30.     
  31.     irsdata->XOffset = 0 ;
  32.     irsdata->YOffset = 0 ;
  33.  
  34.     TQ3DrawContextObject DrawContext ;
  35.     if ( Q3View_GetDrawContext ( pView , &DrawContext ) != kQ3Failure )
  36.         {
  37.         TQ3DrawContextData Data ;
  38.         if ( Q3DrawContext_GetData ( DrawContext , &Data ) != kQ3Failure )
  39.             {
  40.             irsdata->XScale = ( Data.pane.max.x - Data.pane.min.x ) / 2.0f ;
  41.             irsdata->YScale = ( Data.pane.max.y - Data.pane.min.y ) / 2.0f ;
  42.             
  43.             irsdata->XOffset = Data.pane.min.x + irsdata->XScale ;
  44.             irsdata->YOffset = Data.pane.max.y - irsdata->YScale ;
  45.             }
  46.         }
  47.     return kQ3Success;
  48.     }
  49.